package com.example.api.client;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Map;

@FeignClient("user-service")
public interface UserClient {
    @PutMapping("/users/money/deduct")
    void deductMoney(@RequestParam("pw") String pw, @RequestParam("amount") Integer amount);


    /**
     * 根据用户ID获取用户基础信息（昵称、联系方式）
     * @param userId 用户ID
     * @return 基础信息Map（key: userName-昵称，phone-联系方式）
     */
    @GetMapping("/users/basic-info")
    Map<String, String> getUserBasicInfo(@RequestParam("userId") Long userId);

    /**
     * 根据用户ID集合批量获取用户基础信息
     * @param userIds 用户ID集合（逗号分隔，如"1001,1002"）
     * @return 键值对（key: userId，value: 基础信息Map）
     */
    @GetMapping("/users/batch-basic-info")
    Map<Long, Map<String, String>> batchGetUserBasicInfo(@RequestParam("userIds") String userIds);
}
